

#ifndef FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_MYCIRCLE_MYCIRCLE_PAINT_METHOD_H
#define FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_MYCIRCLE_MYCIRCLE_PAINT_METHOD_H

#include "core/components_ng/pattern/mycircle/mycircle_paint_property.h"
#include "core/components_ng/render/node_paint_method.h"

namespace OHOS::Ace::NG {
class ACE_EXPORT MyCirclePaintMethod : public NodePaintMethod {
    DECLARE_ACE_TYPE(MyCirclePaintMethod, NodePaintMethod)
public:
    explicit MyCirclePaintMethod(float radius, float edgeWidth) : radius_(radius), edgeWidth_(edgeWidth) {}
    ~MyCirclePaintMethod() override = default;

    CanvasDrawFunction GetContentDrawFunction(PaintWrapper* paintWrapper) override;

private:
    float radius_ = 30.0f;
    float edgeWidth_ = 1.0f;
    ACE_DISALLOW_COPY_AND_MOVE(MyCirclePaintMethod);
};

} // namespace OHOS::Ace::NG

#endif // FOUNDATION_ACE_FRAMEWORKS_CORE_COMPONENTS_NG_PATTERN_MYCIRCLE_MYCIRCLE_PAINT_METHOD_H
